Recommending API Function Calls and Code Snippets to Support Software Development
نویسندگان
چکیده
To perform their daily tasks, developers intensively make use of existing resources by consulting open-source software (OSS) repositories. Such platforms contain rich data sources, e.g., code snippets, documentation, and user discussions, that can be useful for supporting development activities. Over the last decades, several techniques tools have been promoted to provide with innovative features, aiming bring in improvements terms effort, cost savings, productivity. In context EU H2020 CROSSMINER project, a set recommendation systems has conceived assist programmers different phases process. The various artifacts, such as third-party libraries, documentation about how APIs being adopted, or relevant API function calls. develop recommendations, technical choices made overcome issues related aspects including lack baselines, limited availability, decisions performance measures, evaluation approaches. This paper is an experience report present knowledge pertinent developed through project. We explain detail challenges we had deal with, together lessons learned when developing evaluating these systems. Our aim research community concrete takeaway messages are expected those who want customize own reported experiences facilitate interesting discussions work, which end contribute advancement applied solve Software Engineering.
منابع مشابه
ROSF: Leveraging Information Retrieval and Supervised Learning for Recommending Code Snippets
when implementing unfamiliar programming tasks, developers commonly search code examples and learn usage patterns of APIs from the code examples or reuse them by copy-pasting and modifying. For providing high-quality code examples, previous studies present several methods to recommend code snippets mainly based on information retrieval. In this paper, to provide better recommendation results, w...
متن کاملRecommending change clusters to support software investigation: an empirical study
During software maintenance tasks, developers often spend a valuable amount of effort investigating source code. This effort can be reduced if tools are available to help developers navigate the source code effectively. We studied to what extent developers can benefit from information contained in clusters of change sets to guide their investigation of a software system. We defined change clust...
متن کاملRecommending software experts using code similarity and social heuristics
Successful collaboration among developers is crucial to the completion of software projects in a Distributed Software System Development (DSSD) environment. We have developed an Expert Recommender System Framework (ERSF) that assists a developer (called the “Active Devel- oper”) to find other developers who can help them to fix code with which they are having difficulty. The ERSF first loo...
متن کاملMAPO: Mining and Recommending API Usage Patterns
To improve software productivity, when constructing new software systems, programmers often reuse existing libraries or frameworks by invoking methods provided in their APIs. Those API methods, however, are often complex and not well documented. To get familiar with how those API methods are used, programmers often exploit a source code search tool to search for code snippets that use the API m...
متن کاملCheckable Code Decisions to Support Software Evolution
For the evolution of software, understanding of the context, i.e. history and rationale of the existing artifacts, is crucial to avoid “ignorant surgery” [3], i.e. modifications to the software without understanding its design intent. Existing works on recording architecture decisions have mostly focused on architectural models. We extend this to code models, and introduce a catalog of code dec...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: IEEE Transactions on Software Engineering
سال: 2022
ISSN: ['0098-5589', '1939-3520', '2326-3881']
DOI: https://doi.org/10.1109/tse.2021.3059907